It has been known for some time that the efficiency of storage of digital data on magnetic storage media such as a disk drive can be improved if the data is encoded prior to storage. The code generally used is such that the magnetic flux transitions written to the disk are encoded versions of the data written and do not correspond directly to the data. One such code which is in common use is the 2,7 run length limited code which is described in U.S. Pat. No. 3,689,899 issued to P. A. Franaszek. According to the Franaszek patent, incoming data is scanned and specified patterns found in the data are converted in corresponding patterns of encoded ones and zeroes. According to this code, twice as many encoded bits are generated as data pulses are encoded. However, when the data is thereafter written to the disk, only the ones are written as magnetic flux transitions. This permits the encoded flux transitions to be written closer together, resulting in a net improvement in the amount of data which can be stored on a given disk. The encoded zeroes are represented by absences of flux transitions, i.e., the space between adjacent flux transitions written to the disk is controlled by counting of clock pulses supplied at a fixed frequency. Upon reading the number of clock pulses counted between adjacent flux transitions is converted to a like number of zeroes between the ones represented by the flux transitions. The recovered encoded data can then be decoded, again according to the Franaszek patent.
Circuitry for performing such encoding and decoding is shown in U.S. Pat. No. 4,115,768 to Eggenberger et al. Such circuitry is in wide use in the data storage industry and is not without utility. However, it has been realized by the present inventor that it is unnecessarily complex and that a substantial hardware reduction can be made without impeding the circuit function.